﻿#ifndef CLEANINFORS_H
#define CLEANINFORS_H

#include <QObject>
#include <QJsonArray>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonParseError>
#include <QJsonValue>
#include <QMap>
#include <QList>

/*
 * 清洗列表
 * {
 *    //类型 1是加热，如果后面不带时间就不清晰；3是热水箱自动加热；5是直接出热水;
 *    // 17代表温水;18代表清洗剂;21代表常凉水;19代表常消毒剂;    // 20代表热水;(无用)
 * // 100代表带抽水的排空;101代表只是排空不带抽水;102代表补水
        "ishot":1,
        "temperature":1,//加热时候的判断温度
        "cmds":1, //2是检测是否漏水的
        "types":1, //查询发送进度
        "times":10,//单位时间s
        "group":[
        {
            "regional":"A", //区域固定
            "foreTime":0, //排空时候正向运行时间
            "reverTime":0,//排空时候反向运行时间
            "drict":0, //清洗时候的正传跟反转的方向
            "speed":100,//清洗时候的清洗泵的速度
            "turn":20000,//运行时间单位是ms
            "soak":0//静止时间单位是ms
        },{
            "regional":"B",
            "foreTime":0,
            "reverTime":0,
            "drict":0,
            "speed":100,
            "turn":20000,
            "soak":0
        },{
            "regional":"C",
            "foreTime":0,
            "reverTime":0,
            "drict":0,
            "speed":100,
            "turn":20000,
            "soak":0
        }
        ]
    }
*/
class CleanInfors : public QObject
{
    Q_OBJECT
public:
    explicit CleanInfors(QObject *parent = nullptr);
    virtual ~CleanInfors();

    void initPin();
    static CleanInfors * gestance();


    QList<int> keyPins();


    QList<QJsonObject> getPin(int indexs);

    int getVersion(int indexs);
signals:


private:
    static CleanInfors  * m_cleanInfors;

    QMap<int , QList<QJsonObject> > m_cleanList;
    QMap<int , int > m_cleanIndexInfors;
};

#endif // CLEANINFORS_H
